package fun.cyhgraph.service;

import fun.cyhgraph.dto.EmployeeDTO;
import fun.cyhgraph.dto.EmployeeFixPwdDTO;
import fun.cyhgraph.dto.EmployeeLoginDTO;
import fun.cyhgraph.dto.PageDTO;
import fun.cyhgraph.entity.Employee;
import fun.cyhgraph.result.PageResult;

/**
 * 员工服务
 */
public interface EmployeeService {

    /**
     * 员工登录
     * @param employeeLoginDTO
     * @return
     */
    Employee login(EmployeeLoginDTO employeeLoginDTO);



    /**
     * 员工注册
     * @param employeeLoginDTO
     */
    void register(EmployeeLoginDTO employeeLoginDTO);


    /**
     * 员工修改密码
     * @param employeeFixPwdDTO
     */
    void fixPwd(EmployeeFixPwdDTO employeeFixPwdDTO);

    /**
     * 新增员工
     * @param employeeDTO
     */
    void addEmployee(EmployeeDTO employeeDTO);


    /**
     * 根据id获取员工信息
     * @param id
     * @return
     */
    Employee getEmployeeById(Integer id);

    /**
     * 员工条件分页查询
     * @param pageDTO
     * @return
     */
    PageResult employeePageList(PageDTO pageDTO);


    /**
     * 修改员工信息
     * @param employeeDTO
     */
    void update(EmployeeDTO employeeDTO);


    /**
     * 启禁员工
     * @param id
     */
    void onOff(Integer id);


    /**
     * 删除员工
     * @param id
     */
    void delete(Integer id);


}
